Embodiments of the present invention generally relate to data versioning, and more particularly relate to data versioning in solid state memory.
Solid state memory, such as flash memory, is becoming increasingly popular for storing data. For example, solid-state Disks (SSDs) that implement flash memory are emerging as an important candidate in the market for data storage (both for file-systems and otherwise). While SSDs provide efficient read access, writes are more complex because in-place updates are generally not possible in current solid state memories. Therefore, SSD vendors normally ship SSDs with a layer referred to as the Flash Translation Layer (FTL) that remaps every write to a different block and exposes an SSDs as a standard block device (e.g., a hard disk drive).